/**
 * 
 */
package com.demo2do.strawberry.service;

import java.util.List;

import com.demo2do.strawberry.entity.startup.Startup;
import com.demo2do.strawberry.entity.user.UserRegister;
import com.demo2do.strawberry.entity.user.member.Member;
import com.demo2do.strawberry.entity.user.member.MemberTask;
import com.demo2do.strawberry.entity.user.profile.Profile;

/**
 * @author Downpour
 */
public interface UserService {
	
	/**
	 * get user register filtered by email and whether it is enabled
	 * 
	 * @param email
	 * @param enabled
	 * @return
	 */
	public List<UserRegister> getUserRegister(String email, boolean enabled);
	
	/**
	 * get user profile by member
	 * 
	 * @param member
	 * @return
	 */
	public Profile getUserProfile(Member member);

	/**
	 * load member task by id
	 * 
	 * @param id
	 * @return
	 */
	public MemberTask loadMemberTask(Long id);

	/**
	 * edit user profile
	 * 
	 * @param userRegister
	 * @param name
	 * @param description
	 * @param phone
	 * @param region
	 */
	public void editProfile(UserRegister userRegister, String name, String description, String phone, String region);

	/**
	 * @param startup
	 * @return
	 */
	public boolean isSubscribed(Profile profile, Startup startup);

}
